home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / midi / chrdmstr.lha / chordmaster / source / Window.c < prev    next >
C/C++ Source or Header  |  1992-10-23  |  6KB  |  212 lines

  1. #include <libraries/mui.h>
  2. #include <proto/muimaster.h>
  3. #include <clib/exec_protos.h>
  4. #include <exec/memory.h>
  5.  
  6. #ifndef MAKE_ID
  7. #define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
  8. #endif
  9.  
  10. #ifdef _DCC
  11. #define __inline
  12. #endif
  13.  
  14. /*    ExTended KeyButton ( or Eric Totel KeyButton :-) )    */
  15. /*    to use with localization features             */
  16.  
  17. static APTR __inline ETKeyButton(char *text)
  18. {
  19.         return (KeyButton(&text[3], text[1]));
  20. }
  21.  
  22. #include "Window.h"
  23.  
  24. struct ObjApp * CreateApp( void )
  25. {
  26.     struct ObjApp * Object;
  27.  
  28.     if (!(Object = AllocVec( sizeof( struct ObjApp ), MEMF_PUBLIC|MEMF_CLEAR )))
  29.         return( NULL );
  30.  
  31.     Object->STR_Info = NULL;
  32.     Object->STR_ExactText = "\033c Exact";
  33.     Object->STR_OneText = "\033c One Out";
  34.     Object->STR_TwoText = "\033c Two Out";
  35.     Object->STR_ExactList = NULL;
  36.     Object->STR_OneOutList = NULL;
  37.     Object->STR_TwoOutList = NULL;
  38.     Object->STR_Chord_Name_Box = NULL;
  39.     Object->STR_Chord_Notes_Box = NULL;
  40.     Object->STR_Chord_Intervals_Box = NULL;
  41.  
  42.     Object->App = ApplicationObject,
  43.         MUIA_Application_Author, "Reggie",
  44.         MUIA_Application_Base, "CHORDMASTER",
  45.         MUIA_Application_Title, "Chord Master",
  46.         MUIA_Application_Version, "$VER: ChordMaster 1.2b",
  47.         MUIA_Application_Copyright, "Chris Carr 1995",
  48.         MUIA_Application_Description, "Chord Master Program",
  49.         SubWindow, Object->Chord_Pro_Window = WindowObject,
  50.             MUIA_Window_Title, "Chord_Master 1.1b",
  51.             MUIA_Window_ID, MAKE_ID( '0','W','I','N' ),
  52.             WindowContents, GroupObject,
  53.                 Child, GroupObject,
  54.                     GroupFrameT( "Notes" ),
  55.                     MUIA_Group_Rows, 1,
  56.                     Child, ColGroup( 2 ),
  57.                         Child, Label2( "A" ),
  58.                         Child, Object->Note0 = CheckMark( FALSE ),
  59.                     End,
  60.                     Child, ColGroup( 2 ),
  61.                         Child, Label2( "A#" ),
  62.                         Child, Object->Note1 = CheckMark( FALSE ),
  63.                     End,
  64.                     Child, ColGroup( 2 ),
  65.                         Child, Label2( "B" ),
  66.                         Child, Object->Note2 = CheckMark( FALSE ),
  67.                     End,
  68.                     Child, ColGroup( 2 ),
  69.                         Child, Label2( "C" ),
  70.                         Child, Object->Note3 = CheckMark( FALSE ),
  71.                     End,
  72.                     Child, ColGroup( 2 ),
  73.                         Child, Label2( "C#" ),
  74.                         Child, Object->Note4 = CheckMark( FALSE ),
  75.                     End,
  76.                     Child, ColGroup( 2 ),
  77.                         Child, Label2( "D" ),
  78.                         Child, Object->Note5 = CheckMark( FALSE ),
  79.                     End,
  80.                     Child, ColGroup( 2 ),
  81.                         Child, Label2( "D#" ),
  82.                         Child, Object->Note6 = CheckMark( FALSE ),
  83.                     End,
  84.                     Child, ColGroup( 2 ),
  85.                         Child, Label2( "E" ),
  86.                         Child, Object->Note7 = CheckMark( FALSE ),
  87.                     End,
  88.                     Child, ColGroup( 2 ),
  89.                         Child, Label2( "F" ),
  90.                         Child, Object->Note8 = CheckMark( FALSE ),
  91.                     End,
  92.                     Child, ColGroup( 2 ),
  93.                         Child, Label2( "F#" ),
  94.                         Child, Object->Note9 = CheckMark( FALSE ),
  95.                     End,
  96.                     Child, ColGroup( 2 ),
  97.                         Child, Label2( "G" ),
  98.                         Child, Object->Note10 = CheckMark( FALSE ),
  99.                     End,
  100.                     Child, ColGroup( 2 ),
  101.                         Child, Label2( "G#" ),
  102.                         Child, Object->Note11 = CheckMark( FALSE ),
  103.                     End,
  104.                 End,
  105.                 Child, GroupObject,
  106.                     Child, Object->StartButton = KeyButton( "Start",'s' ),
  107.                 End,
  108.                 Child, GroupObject,
  109.                     Child, Object->Info = TextObject,
  110.                         MUIA_Background, 131,
  111.                         MUIA_Text_Contents, Object->STR_Info,
  112.                         MUIA_Text_SetMax, 0,
  113.                         MUIA_Text_SetMin, 0,
  114.                         MUIA_Frame, 3,
  115.                     End,
  116.                 End,
  117.                 Child, GroupObject,
  118.                     GroupFrameT( "Matches" ),
  119.                     MUIA_Group_Columns, 3,
  120.                     Child, Object->ExactText = TextObject,
  121.                         MUIA_Background, 128,
  122.                         MUIA_Text_Contents, Object->STR_ExactText,
  123.                         MUIA_Text_SetMax, 0,
  124.                         MUIA_Text_SetMin, 0,
  125.                         MUIA_Frame, 0,
  126.                     End,
  127.                     Child, Object->OneText = TextObject,
  128.                         MUIA_Background, 128,
  129.                         MUIA_Text_Contents, Object->STR_OneText,
  130.                         MUIA_Text_SetMax, 0,
  131.                         MUIA_Text_SetMin, 0,
  132.                         MUIA_Frame, 0,
  133.                     End,
  134.                     Child, Object->TwoText = TextObject,
  135.                         MUIA_Background, 128,
  136.                         MUIA_Text_Contents, Object->STR_TwoText,
  137.                         MUIA_Text_SetMax, 0,
  138.                         MUIA_Text_SetMin, 0,
  139.                         MUIA_Frame, 0,
  140.                     End,
  141.                     Child, Object->ExactList = ListviewObject,
  142.                         MUIA_Listview_List, FloattextObject,
  143.                             MUIA_Floattext_Text, Object->STR_ExactList,
  144.                             ReadListFrame,
  145.                         End,
  146.                     End,
  147.                     Child, Object->OneOutList = ListviewObject,
  148.                         MUIA_Listview_List, FloattextObject,
  149.                             MUIA_Floattext_Text, Object->STR_OneOutList,
  150.                             ReadListFrame,
  151.                         End,
  152.                     End,
  153.                     Child, Object->TwoOutList = ListviewObject,
  154.                         MUIA_Listview_List, FloattextObject,
  155.                             MUIA_Floattext_Text, Object->STR_TwoOutList,
  156.                             ReadListFrame,
  157.                         End,
  158.                     End,
  159.                 End,
  160.                 Child, GroupObject,
  161.                     MUIA_Group_Columns, 2,
  162.                     Child, Object->AboutButton = KeyButton( "About",'b' ),
  163.                     Child, Object->QuitButton = KeyButton( "Quit",'q' ),
  164.                 End,
  165.             End,
  166.         End,
  167.         SubWindow, Object->Chord_Info_Window = WindowObject,
  168.             MUIA_Window_Title, "Chord Information",
  169.             MUIA_Window_ID, MAKE_ID( '1','W','I','N' ),
  170.             WindowContents, GroupObject,
  171.                 MUIA_Group_Columns, 2,
  172.                 Child, Label( "Chord Name " ),
  173.                 Child, Object->Chord_Name_Box = TextObject,
  174.                     MUIA_Background, 131,
  175.                     MUIA_Text_Contents, Object->STR_Chord_Name_Box,
  176.                     MUIA_Text_SetMax, 0,
  177.                     MUIA_Text_SetMin, 1,
  178.                     MUIA_Frame, 5,
  179.                 End,
  180.                 Child, Label( "Chord Notes " ),
  181.                 Child, Object->Chord_Notes_Box = TextObject,
  182.                     MUIA_Background, 131,
  183.                     MUIA_Text_Contents, Object->STR_Chord_Notes_Box,
  184.                     MUIA_Text_SetMax, 0,
  185.                     MUIA_Text_SetMin, 1,
  186.                     MUIA_Frame, 5,
  187.                 End,
  188.                 Child, Label( "Chord Intervals " ),
  189.                 Child, Object->Chord_Intervals_Box = TextObject,
  190.                     MUIA_Background, 131,
  191.                     MUIA_Text_Contents, Object->STR_Chord_Intervals_Box,
  192.                     MUIA_Text_SetMax, 0,
  193.                     MUIA_Text_SetMin, 1,
  194.                     MUIA_Frame, 5,
  195.                 End,
  196.             End,
  197.         End,
  198.     End;
  199.  
  200.     if (!(Object->App))
  201.     {
  202.         FreeVec(Object);
  203.         Object = NULL;
  204.     }
  205.     return( Object );
  206. }
  207.  
  208. void DisposeApp( struct ObjApp * Object )
  209. {
  210.     MUI_DisposeObject(Object->App);
  211.     FreeVec( Object );
  212. }